Detecting damaged TMR sensors using bias currents and outliers

ABSTRACT

A computer-implemented method to detect a damaged tunneling magnetoresistance (TMR) sensor includes applying current at at least two different current values to the TMR sensor and measuring a resistance, R TMR , at each current value. The method also includes measuring a slope in resistance vs. bias current, RD SLP , using the measured resistances R TMR  and the at least two different current values. The method includes calculating a ΔRD SLP  value as a difference between the RD SLP  value and an expected value, RD SLP-expected , for the TMR sensor. The method includes determining whether the ΔRD SLP  value is within a predefined range. In response to determining that the ΔRD SLP  value is outside the predefined range, the method includes outputting an indication that the TMR sensor fails. In response to determining that the ΔRD SLP  value is within the predefined range, the method includes outputting an indication that the TMR sensor passes.

BACKGROUND

The present invention relates to data storage systems, and moreparticularly, this invention relates to detecting damaged TMR sensors.

In magnetic storage systems, magnetic transducers read data from andwrite data onto magnetic recording media. Data is written on themagnetic recording media by moving a magnetic recording transducer to aposition over the media where the data is to be stored. The magneticrecording transducer then generates a magnetic field, which encodes thedata into the magnetic media. Data is read from the media by similarlypositioning the magnetic read transducer and then sensing the magneticfield of the magnetic media. Read and write operations may beindependently synchronized with the movement of the media to ensure thatthe data can be read from and written to the desired location on themedia.

An important and continuing goal in the data storage industry is that ofincreasing the density of data stored on a medium. For tape storagesystems, that goal has led to increasing the track and linear bitdensity on recording tape, and decreasing the thickness of the magnetictape medium. However, the development of small footprint, higherperformance tape drive systems has created various challenges rangingfrom the design of tape head assemblies for use in such systems todealing with tape dimensional instability.

Tunneling magnetoresistive (TMR) sensors are used to read magnetic datawritten on storage media such as hard disks, high definition (HD) media,tape media, etc. TMR sensors comprise two ferromagnetic layers separatedby a thin oxide tunnel barrier (e.g., MgO or AlO). The polarizationdirection of one of the ferromagnetic layers is “pinned” to a particulardirection while the polarization direction of the other ferromagneticlayer (e.g., the free layer) is free to align with the polarizationdirection of magnetic storage media over which the TMR sensor is passed.When the polarization directions of the free layer and the pinned layerare parallel, the electrical resistance across the TMR sensor is lowbecause the electrons tunnel through the tunnel barrier. When thepolarization of the free layer and the pinned layer are anti-parallel,the electrical resistance across the TMR sensor is high becauseelectrons may not tunnel through the tunnel barrier. TMR sensors readbits stored on magnetic storage media by measuring changes in resistanceacross the TMR sensor due to the magnetic fields generated by the bittransitions as the sensor passes over those bits.

TMR sensors may be damaged by scratches, dielectric breakdown fromelectrical overstress (EOS), dielectric breakdown from electricaldischarge (ESD), pin-holes, lapping smears resulting in degraded and/orabnormal amplitude response of a TMR sensors, etc. Damage to a TMRsensor may be difficult to detect using magnetic tests which detectdamage by degraded and/or abnormal magnetoresistance (MR) response froma magnetic field. Subjecting TMR sensors to magnetic fields in themanufacturing line is often not practical.

SUMMARY

A computer-implemented method to detect a damaged tunnelingmagnetoresistance (TMR) sensor, according to one embodiment, includesapplying current at at least two different current values to the TMRsensor and measuring a resistance, R_(TMR), at each current value. Themethod also includes measuring a slope in resistance vs. bias current,RD_(SLP), using the measured resistances R_(TMR) and the at least twodifferent current values. The method includes calculating a ΔRD_(SLP)value as a difference between the RD_(SLP) value and an expected value,RD_(SLP-expected), for the TMR sensor. RD_(SLP-expected) is not the samevalue for all TMRs in a plurality of TMR sensors for a product. Themethod includes determining whether the ΔRD_(SLP) value is within apredefined range. In response to determining that the ΔRD_(SLP) value isoutside the predefined range, the method includes outputting anindication that the TMR sensor fails. In response to determining thatthe ΔRD_(SLP) value is within the predefined range, the method includesoutputting an indication that the TMR sensor passes.

A computer program product to detect damaged tunneling magnetoresistance(TMR) sensors, according to one embodiment, includes a computer readablestorage medium having program instructions embodied therewith. Theprogram instructions executable by a computer to cause the computer toapply, by the computer, a first current, I₁, and a second current, I₂,to each of n TMR sensors located on a common substrate and builtsimultaneously and measure, by the computer, for each of the TMRsensors, resistances R_(TMR) (I_(m)) for m=1 and m=2. The programinstructions cause the computer to calculate, by the computer, a slopein resistance vs. bias current, RD_(SLPn), using the measuredresistances R_(TMR) (I_(m)) and the current values for I₁ and I₂, foreach of the TMR sensors. The program instructions cause the computer tocalculate, by the computer, the median RD_(SLPn) for the TMR sensorslocated on the common substrate, RD_(SLP-median). The programinstructions cause the computer to calculate, by the computer, residualsof the nth element, ΔRD_(SLP-n), whereΔRD_(SLP-n)=RD_(SLPn)−RD_(SLP-median) and determine, by the computer,whether the ΔRD_(SLP-n) value is within a predefined range. In responseto determining that the ΔRD_(SLP-n) value is outside the predefinedrange, the program instructions cause the computer to output anindication that the TMR sensor fails. In response to determining thatthe ΔRD_(SLP-n) value is within the predefined range, the programinstructions cause the computer to output an indication that the TMRsensor passes.

A computer-implemented method to use a current-based tester as a pseudovoltage-based tester, according to one embodiment, includes setting atarget voltage, V_(target), for a tunneling magnetoresistance (TMR)sensor using a current-based tester and selecting a current value,I_(bias), where I_(bias)=V_(target)/R_(TMR-expected). R_(TMR-expected)is an expected resistance for the TMR sensor. The method includesapplying a current at the value, I_(bias), to the TMR sensor andmeasuring a resistance across the TMR sensor, R_(TMR). The method alsoincludes calculating a bias voltage, V_(bias), using the current value,I_(bias), and the measured resistance, where V_(bias)=I_(bias)·R_(TMR),and comparing the calculated bias voltage to the target voltage. Themethod includes storing the current value, I_(bias), in response todetermining that the bias voltage is within a predefined range of thetarget voltage.

Any of these embodiments may be implemented in a magnetic data storagesystem such as a tape drive system, which may include a magnetic head, adrive mechanism for passing a magnetic medium (e.g., recording tape)over the magnetic head, and a controller electrically coupled to themagnetic head.

Other aspects and embodiments of the present invention will becomeapparent from the following detailed description, which, when taken inconjunction with the drawings, illustrate by way of example theprinciples of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a schematic diagram of a simplified tape drive systemaccording to one embodiment.

FIG. 1B is a schematic diagram of a tape cartridge according to oneembodiment.

FIG. 2A illustrates a side view of a flat-lapped, bi-directional,two-module magnetic tape head according to one embodiment.

FIG. 2B is a tape bearing surface view taken from Line 2B of FIG. 2A.

FIG. 2C is a detailed view taken from Circle 2C of FIG. 2B.

FIG. 2D is a detailed view of a partial tape bearing surface of a pairof modules.

FIG. 3 is a partial tape bearing surface view of a magnetic head havinga write-read-write configuration.

FIG. 4 is a partial tape bearing surface view of a magnetic head havinga read-write-read configuration.

FIG. 5 is a side view of a magnetic tape head with three modulesaccording to one embodiment where the modules all generally lie alongabout parallel planes.

FIG. 6 is a side view of a magnetic tape head with three modules in atangent (angled) configuration.

FIG. 7 is a side view of a magnetic tape head with three modules in anoverwrap configuration.

FIGS. 8A-8C are schematics depicting the principles of tape tenting.

FIG. 9 is a representational diagram of files and indexes stored on amagnetic tape according to one embodiment.

FIG. 10 is a flowchart of a method, according to one embodiment.

FIG. 11 is a flowchart of a method, according to one embodiment.

FIG. 12 is a plot of RD_(SLP) versus cabled TMR resistance (RD_(R)),according to one embodiment.

FIG. 13 is a plot of the standard deviation, Σ_(SLP), versus RD_(R),according to one embodiment.

FIG. 14 is a plot of a drive SNRa and a residual RD_(SLP) versus tracksin a tape head module in a drive, the tape head module comprising 33TMRs, according to one embodiment.

FIG. 15 is a plot of a drive SNRa and a residual RD_(SLP) versus tracksin a tape head module in a drive, the tape head module comprising 33TMRs, according to one embodiment.

DETAILED DESCRIPTION

The following description is made for the purpose of illustrating thegeneral principles of the present invention and is not meant to limitthe inventive concepts claimed herein. Further, particular featuresdescribed herein can be used in combination with other describedfeatures in each of the various possible combinations and permutations.

Unless otherwise specifically defined herein, all terms are to be giventheir broadest possible interpretation including meanings implied fromthe specification as well as meanings understood by those skilled in theart and/or as defined in dictionaries, treatises, etc.

It must also be noted that, as used in the specification and theappended claims, the singular forms “a,” “an” and “the” include pluralreferents unless otherwise specified.

The following description discloses several preferred embodiments ofmagnetic storage systems, as well as operation and/or component partsthereof.

In one general embodiment, a computer-implemented method to detect adamaged tunneling magnetoresistance (TMR) sensor includes applyingcurrent at at least two different current values to the TMR sensor andmeasuring a resistance, R_(TMR), at each current value. The method alsoincludes measuring a slope in resistance vs. bias current, RD_(SLP),using the measured resistances R_(TMR) and the at least two differentcurrent values. The method includes calculating a ΔRD_(SLP) value as adifference between the RD_(SLP) value and an expected value,RD_(SLP-expected), for the TMR sensor. RD_(SLP-expected) is not the samevalue for all TMRs in a plurality of TMR sensors for a product. Themethod includes determining whether the ΔRD_(SLP) value is within apredefined range. In response to determining that the ΔRD_(SLP) value isoutside the predefined range, the method includes outputting anindication that the TMR sensor fails. In response to determining thatthe ΔRD_(SLP) value is within the predefined range, the method includesoutputting an indication that the TMR sensor passes.

In another general embodiment, a computer program product to detectdamaged tunneling magnetoresistance (TMR) sensors includes a computerreadable storage medium having program instructions embodied therewith.The program instructions executable by a computer to cause the computerto apply, by the computer, a first current, I₁, and a second current,I₂, to each of n TMR sensors located on a common substrate and builtsimultaneously and measure, by the computer, for each of the TMRsensors, resistances R_(TMR) (I_(m)) for m=1 and m=2. The programinstructions cause the computer to calculate, by the computer, a slopein resistance vs. bias current, RD_(SLPn), using the measuredresistances R_(TMR) (I_(m)) and the current values for I₁ and I₂, foreach of the TMR sensors. The program instructions cause the computer tocalculate, by the computer, the median RD_(SLPn) for the TMR sensorslocated on the common substrate, RD_(SLP-median). The programinstructions cause the computer to calculate, by the computer, residualsof the nth element, ΔRD_(SLP-n), whereΔRD_(SLP-n)=RD_(SLPn)−RD_(SLP-median) and determine, by the computer,whether the ΔRD_(SLP-n) value is within a predefined range. In responseto determining that the ΔRD_(SLP-n) value is outside the predefinedrange, the program instructions cause the computer to output anindication that the TMR sensor fails. In response to determining thatthe ΔRD_(SLP-n) value is within the predefined range, the programinstructions cause the computer to output an indication that the TMRsensor passes.

In another general embodiment, a computer-implemented method to use acurrent-based tester as a pseudo voltage-based tester includes setting atarget voltage, V_(target), for a tunneling magnetoresistance (TMR)sensor using a current-based tester and selecting a current value,I_(bias), where I_(bias)=V_(target)/R_(TMR-expected). R_(TMR-expected)is an expected resistance for the TMR sensor. The method includesapplying a current at the value, I_(bias), to the TMR sensor andmeasuring a resistance across the TMR sensor, R_(TMR). The method alsoincludes calculating a bias voltage, V_(bias), using the current value,I_(bias), and the measured resistance, where V_(bias)=I_(bias)·R_(TMR),and comparing the calculated bias voltage to the target voltage. Themethod includes storing the current value, I_(bias), in response todetermining that the bias voltage is within a predefined range of thetarget voltage.

FIG. 1A illustrates a simplified tape drive 100 of a tape-based datastorage system, which may be employed in the context of the presentinvention. While one specific implementation of a tape drive is shown inFIG. 1A, it should be noted that the embodiments described herein may beimplemented in the context of any type of tape drive system.

As shown, a tape supply cartridge 120 and a take-up reel 121 areprovided to support a tape 122. One or more of the reels may form partof a removable cartridge and are not necessarily part of the tape drive100. The tape drive, such as that illustrated in FIG. 1A, may furtherinclude drive motor(s) to drive the tape supply cartridge 120 and thetake-up reel 121 to move the tape 122 over a tape head 126 of any type.Such head may include an array of readers, writers, or both.

Guides 125 guide the tape 122 across the tape head 126. Such tape head126 is in turn coupled to a controller 128 via a cable 130. Thecontroller 128, may be or include a processor and/or any logic forcontrolling any subsystem of the drive 100. For example, the controller128 typically controls head functions such as servo following, datawriting, data reading, etc. The controller 128 may include at least oneservo channel and at least one data channel, each of which include dataflow processing logic configured to process and/or store information tobe written to and/or read from the tape 122. The controller 128 mayoperate under logic known in the art, as well as any logic disclosedherein, and thus may be considered as a processor for any of thedescriptions of tape drives included herein, in various embodiments. Thecontroller 128 may be coupled to a memory 136 of any known type, whichmay store instructions executable by the controller 128. Moreover, thecontroller 128 may be configured and/or programmable to perform orcontrol some or all of the methodology presented herein. Thus, thecontroller 128 may be considered to be configured to perform variousoperations by way of logic programmed into one or more chips, modules,and/or blocks; software, firmware, and/or other instructions beingavailable to one or more processors; etc., and combinations thereof.

The cable 130 may include read/write circuits to transmit data to thetape head 126 to be recorded on the tape 122 and to receive data read bythe tape head 126 from the tape 122. An actuator 132 controls positionof the tape head 126 relative to the tape 122.

An interface 134 may also be provided for communication between the tapedrive 100 and a host (internal or external) to send and receive the dataand for controlling the operation of the tape drive 100 andcommunicating the status of the tape drive 100 to the host, all as willbe understood by those of skill in the art.

FIG. 1B illustrates an exemplary tape cartridge 150 according to oneembodiment. Such tape cartridge 150 may be used with a system such asthat shown in FIG. 1A. As shown, the tape cartridge 150 includes ahousing 152, a tape 122 in the housing 152, and a nonvolatile memory 156coupled to the housing 152. In some approaches, the nonvolatile memory156 may be embedded inside the housing 152, as shown in FIG. 1B. In moreapproaches, the nonvolatile memory 156 may be attached to the inside oroutside of the housing 152 without modification of the housing 152. Forexample, the nonvolatile memory may be embedded in a self-adhesive label154. In one preferred embodiment, the nonvolatile memory 156 may be aFlash memory device, read-only memory (ROM) device, etc., embedded intoor coupled to the inside or outside of the tape cartridge 150. Thenonvolatile memory is accessible by the tape drive and the tapeoperating software (the driver software), and/or another device.

By way of example, FIG. 2A illustrates a side view of a flat-lapped,bi-directional, two-module magnetic tape head 200 which may beimplemented in the context of the present invention. As shown, the headincludes a pair of bases 202, each equipped with a module 204, and fixedat a small angle α with respect to each other. The bases may be“U-beams” that are adhesively coupled together. Each module 204 includesa substrate 204A and a closure 204B with a thin film portion, commonlyreferred to as a “gap” in which the readers and/or writers 206 areformed. In use, a tape 208 is moved over the modules 204 along a media(tape) bearing surface 209 in the manner shown for reading and writingdata on the tape 208 using the readers and writers. The wrap angle θ ofthe tape 208 at edges going onto and exiting the flat media supportsurfaces 209 are usually between about 0.1 degree and about 3 degrees.

The substrates 204A are typically constructed of a wear resistantmaterial, such as a ceramic. The closures 204B may be made of the sameor similar ceramic as the substrates 204A.

The readers and writers may be arranged in a piggyback or mergedconfiguration. An illustrative piggybacked configuration comprises a(magnetically inductive) writer transducer on top of (or below) a(magnetically shielded) reader transducer (e.g., a magnetoresistivereader, etc.), wherein the poles of the writer and the shields of thereader are generally separated. An illustrative merged configurationcomprises one reader shield in the same physical layer as one writerpole (hence, “merged”). The readers and writers may also be arranged inan interleaved configuration. Alternatively, each array of channels maybe readers or writers only. Any of these arrays may contain one or moreservo track readers for reading servo data on the medium.

FIG. 2B illustrates the tape bearing surface 209 of one of the modules204 taken from Line 2B of FIG. 2A. A representative tape 208 is shown indashed lines. The module 204 is preferably long enough to be able tosupport the tape as the head steps between data bands.

In this example, the tape 208 includes 4 to 32 data bands, e.g., with 16data bands and 17 servo tracks 210, as shown in FIG. 2B on a one-halfinch wide tape 208. The data bands are defined between servo tracks 210.Each data band may include a number of data tracks, for example 1024data tracks (not shown). During read/write operations, the readersand/or writers 206 are positioned to specific track positions within oneof the data bands. Outer readers, sometimes called servo readers, readthe servo tracks 210. The servo signals are in turn used to keep thereaders and/or writers 206 aligned with a particular set of tracksduring the read/write operations.

FIG. 2C depicts a plurality of readers and/or writers 206 formed in agap 218 on the module 204 in Circle 2C of FIG. 2B. As shown, the arrayof readers and writers 206 includes, for example, 16 writers 214, 16readers 216 and two servo readers 212, though the number of elements mayvary. Illustrative embodiments include 8, 16, 32, 40, and 64 activereaders and/or writers 206 per array, and alternatively interleaveddesigns having odd numbers of reader or writers such as 17, 25, 33, etc.An illustrative embodiment includes 32 readers per array and/or 32writers per array, where the actual number of transducer elements couldbe greater, e.g., 33, 34, etc. This allows the tape to travel moreslowly, thereby reducing speed-induced tracking and mechanicaldifficulties and/or execute fewer “wraps” to fill or read the tape.While the readers and writers may be arranged in a piggybackconfiguration as shown in FIG. 2C, the readers 216 and writers 214 mayalso be arranged in an interleaved configuration. Alternatively, eacharray of readers and/or writers 206 may be readers or writers only, andthe arrays may contain one or more servo readers 212. As noted byconsidering FIGS. 2A and 2B-2C together, each module 204 may include acomplementary set of readers and/or writers 206 for such things asbi-directional reading and writing, read-while-write capability,backward compatibility, etc.

FIG. 2D shows a partial tape bearing surface view of complementarymodules of a magnetic tape head 200 according to one embodiment. In thisembodiment, each module has a plurality of read/write (R/W) pairs in apiggyback configuration formed on a common substrate 204A and anoptional electrically insulative insulating layer 236. The writers 214and the readers 216 are aligned parallel to an intended direction oftravel of a tape medium thereacross to form an R/W pair, exemplified byR/W pairs 222. Note that the intended direction of tape travel issometimes referred to herein as the direction of tape travel, and suchterms may be used interchangeably. Such direction of tape travel may beinferred from the design of the system, e.g., by examining the guides;observing the actual direction of tape travel relative to the referencepoint; etc. Moreover, in a system operable for bi-direction readingand/or writing, the direction of tape travel in both directions istypically parallel and thus both directions may be considered equivalentto each other.

Several R/W pairs 222 may be present, such as 8, 16, 32 pairs, etc. TheR/W pairs 222 as shown are linearly aligned in a direction generallyperpendicular to a direction of tape travel thereacross. However, thepairs may also be aligned diagonally, etc. Servo readers 212 arepositioned on the outside of the array of R/W pairs, the function ofwhich is well known.

Generally, the magnetic tape medium moves in either a forward or reversedirection as indicated by arrow 220. The magnetic tape medium and headassembly 200 operate in a transducing relationship in the mannerwell-known in the art. The head assembly 200 includes two thin-filmmodules 224 and 226 of generally identical construction.

Modules 224 and 226 are joined together with a space present betweenclosures 204B thereof (partially shown) to form a single physical unitto provide read-while-write capability by activating the writer of theleading module and reader of the trailing module aligned with the writerof the leading module parallel to the direction of tape travel relativethereto. When a module 224, 226 of a magnetic tape head 200 isconstructed, layers are formed in the gap 218 created above anelectrically conductive substrate 204A (partially shown), e.g., ofAlTiC, in generally the following order for the R/W pairs 222: aninsulating layer 236, a first shield 232 typically of an iron alloy suchas NiFe (−), cobalt zirconium tantalum (CZT) or Al—Fe—Si (Sendust), asensor 234 for sensing a data track on a magnetic medium, a secondshield 238 typically of a nickel-iron alloy (e.g., ˜80/20 at % NiFe,also known as permalloy), first and second writer poles 228, 230, and acoil (not shown). The sensor may be of any known type, including thosebased on magnetoresistive (MR), GMR, AMR, tunneling magnetoresistance(TMR), etc. The first and second writer poles 228, 230 may be fabricatedfrom high magnetic moment materials such as ˜45/55 NiFe. Note that thesematerials are provided by way of example only, and other materials maybe used. Additional layers such as insulation between the shields and/orpole tips and an insulation layer surrounding the sensor may be present.Illustrative materials for the insulation include alumina and otheroxides, insulative polymers, etc.

The configuration of the tape head 126 according to one embodimentincludes multiple modules, preferably three or more. In awrite-read-write (W-R-W) head, outer modules for writing flank one ormore inner modules for reading. Referring to FIG. 3, depicting a W-R-Wconfiguration, the outer modules 252, 256 each include one or morearrays of writers 260. The inner module 254 of FIG. 3 includes one ormore arrays of readers 258 in a similar configuration. Variations of amulti-module head include a R-W-R head (FIG. 4), a R-R-W head, a W-W-Rhead, etc. In yet other variations, one or more of the modules may haveread/write pairs of transducers. Moreover, more than three modules maybe present. In further approaches, two outer modules may flank two ormore inner modules, e.g., in a W-R-R-W, a R-W-W-R arrangement, etc. Forsimplicity, a W-R-W head is used primarily herein to exemplifyembodiments of the present invention. One skilled in the art apprisedwith the teachings herein will appreciate how permutations of thepresent invention would apply to configurations other than a W-R-Wconfiguration.

FIG. 5 illustrates a magnetic head 126 according to one embodiment ofthe present invention that includes first, second and third modules 302,304, 306 each having a tape bearing surface 308, 310, 312 respectively,which may be flat, contoured, etc. Note that while the term “tapebearing surface” appears to imply that the surface facing the tape 315is in physical contact with the tape bearing surface, this is notnecessarily the case. Rather, only a portion of the tape may be incontact with the tape bearing surface, constantly or intermittently,with other portions of the tape riding (or “flying”) above the tapebearing surface on a layer of air, sometimes referred to as an “airbearing”. The first module 302 will be referred to as the “leading”module as it is the first module encountered by the tape in a threemodule design for tape moving in the indicated direction. The thirdmodule 306 will be referred to as the “trailing” module. The trailingmodule follows the middle module and is the last module seen by the tapein a three module design. The leading and trailing modules 302, 306 arereferred to collectively as outer modules. Also note that the outermodules 302, 306 will alternate as leading modules, depending on thedirection of travel of the tape 315.

In one embodiment, the tape bearing surfaces 308, 310, 312 of the first,second and third modules 302, 304, 306 lie on about parallel planes(which is meant to include parallel and nearly parallel planes, e.g.,between parallel and tangential as in FIG. 6), and the tape bearingsurface 310 of the second module 304 is above the tape bearing surfaces308, 312 of the first and third modules 302, 306. As described below,this has the effect of creating the desired wrap angle α₂ of the taperelative to the tape bearing surface 310 of the second module 304.

Where the tape bearing surfaces 308, 310, 312 lie along parallel ornearly parallel yet offset planes, intuitively, the tape should peel offof the tape bearing surface 308 of the leading module 302. However, thevacuum created by a skiving edge 318 of the leading module 302 has beenfound by experimentation to be sufficient to keep the tape adhered tothe tape bearing surface 308 of the leading module 302. A trailing edge320 of the leading module 302 (the end from which the tape leaves theleading module 302) is the approximate reference point which defines thewrap angle α₂ over the tape bearing surface 310 of the second module304. The tape stays in close proximity to the tape bearing surface untilclose to the trailing edge 320 of the leading module 302. Accordingly,transducers 322 may be located near the trailing edges of the outermodules 302, 306. These embodiments are particularly adapted forwrite-read-write applications.

A benefit of this and other embodiments described herein is that,because the outer modules 302, 306 are fixed at a determined offset fromthe second module 304, the inner wrap angle α₂ is fixed when the modules302, 304, 306 are coupled together or are otherwise fixed into a head.The inner wrap angle α₂ is approximately tan⁻¹(δ/W) where δ is theheight difference between the planes of the tape bearing surfaces 308,310 and W is the width between the opposing ends of the tape bearingsurfaces 308, 310. An illustrative inner wrap angle α₂ is in a range ofabout 0.3° to about 1.1°, though can be any angle required by thedesign.

Beneficially, the inner wrap angle α₂ on the side of the module 304receiving the tape (leading edge) will be larger than the inner wrapangle α3 on the trailing edge, as the tape 315 rides above the trailingmodule 306. This difference is generally beneficial as a smaller α₃tends to oppose what has heretofore been a steeper exiting effectivewrap angle.

Note that the tape bearing surfaces 308, 312 of the outer modules 302,306 are positioned to achieve a negative wrap angle at the trailing edge320 of the leading module 302. This is generally beneficial in helpingto reduce friction due to contact with the trailing edge 320, providedthat proper consideration is given to the location of the crowbar regionthat forms in the tape where it peels off the head. This negative wrapangle also reduces flutter and scrubbing damage to the elements on theleading module 302. Further, at the trailing module 306, the tape 315flies over the tape bearing surface 312 so there is virtually no wear onthe elements when tape is moving in this direction. Particularly, thetape 315 entrains air and so will not significantly ride on the tapebearing surface 312 of the third module 306 (some contact may occur).This is permissible, because the leading module 302 is writing while thetrailing module 306 is idle.

Writing and reading functions are performed by different modules at anygiven time. In one embodiment, the second module 304 includes aplurality of data and optional servo readers 331 and no writers. Thefirst and third modules 302, 306 include a plurality of writers 322 andno data readers, with the exception that the outer modules 302, 306 mayinclude optional servo readers. The servo readers may be used toposition the head during reading and/or writing operations. The servoreader(s) on each module are typically located towards the end of thearray of readers or writers.

By having only readers or side by side writers and servo readers in thegap between the substrate and closure, the gap length can besubstantially reduced. Typical heads have piggybacked readers andwriters, where the writer is formed above each reader. A typical gap is20-35 microns. However, irregularities on the tape may tend to droopinto the gap and create gap erosion. Thus, the smaller the gap is thebetter. The smaller gap enabled herein exhibits fewer wear relatedproblems.

In some embodiments, the second module 304 has a closure, while thefirst and third modules 302, 306 do not have a closure. Where there isno closure, preferably a hard coating is added to the module. Onepreferred coating is diamond-like carbon (DLC).

In the embodiment shown in FIG. 5, the first, second, and third modules302, 304, 306 each have a closure 332, 334, 336, which extends the tapebearing surface of the associated module, thereby effectivelypositioning the read/write elements away from the edge of the tapebearing surface. The closure 332 on the second module 304 can be aceramic closure of a type typically found on tape heads. The closures334, 336 of the first and third modules 302, 306, however, may beshorter than the closure 332 of the second module 304 as measuredparallel to a direction of tape travel over the respective module. Thisenables positioning the modules closer together. One way to produceshorter closures 334, 336 is to lap the standard ceramic closures of thesecond module 304 an additional amount. Another way is to plate ordeposit thin film closures above the elements during thin filmprocessing. For example, a thin film closure of a hard material such asSendust or nickel-iron alloy (e.g., 45/55) can be formed on the module.

With reduced-thickness ceramic or thin film closures 334, 336 or noclosures on the outer modules 302, 306, the write-to-read gap spacingcan be reduced to less than about 1 mm, e.g., about 0.75 mm, or 50% lessthan commonly-used linear tape open (LTO) tape head spacing. The openspace between the modules 302, 304, 306 can still be set toapproximately 0.5 to 0.6 mm, which in some embodiments is ideal forstabilizing tape motion over the second module 304.

Depending on tape tension and stiffness, it may be desirable to anglethe tape bearing surfaces of the outer modules relative to the tapebearing surface of the second module. FIG. 6 illustrates an embodimentwhere the modules 302, 304, 306 are in a tangent or nearly tangent(angled) configuration. Particularly, the tape bearing surfaces of theouter modules 302, 306 are about parallel to the tape at the desiredwrap angle α₂ of the second module 304. In other words, the planes ofthe tape bearing surfaces 308, 312 of the outer modules 302, 306 areoriented at about the desired wrap angle α₂ of the tape 315 relative tothe second module 304. The tape will also pop off of the trailing module306 in this embodiment, thereby reducing wear on the elements in thetrailing module 306. These embodiments are particularly useful forwrite-read-write applications. Additional aspects of these embodimentsare similar to those given above.

Typically, the tape wrap angles may be set about midway between theembodiments shown in FIGS. 5 and 6.

FIG. 7 illustrates an embodiment where the modules 302, 304, 306 are inan overwrap configuration. Particularly, the tape bearing surfaces 308,312 of the outer modules 302, 306 are angled slightly more than the tape315 when set at the desired wrap angle α₂ relative to the second module304. In this embodiment, the tape does not pop off of the trailingmodule, allowing it to be used for writing or reading. Accordingly, theleading and middle modules can both perform reading and/or writingfunctions while the trailing module can read any just-written data.Thus, these embodiments are preferred for write-read-write,read-write-read, and write-write-read applications. In the latterembodiments, closures should be wider than the tape canopies forensuring read capability. The wider closures may require a widergap-to-gap separation. Therefore, a preferred embodiment has awrite-read-write configuration, which may use shortened closures thatthus allow closer gap-to-gap separation.

Additional aspects of the embodiments shown in FIGS. 6 and 7 are similarto those given above.

A 32 channel version of a multi-module tape head 126 may use cables 350having leads on the same or smaller pitch as current 16 channelpiggyback LTO modules, or alternatively the connections on the modulemay be organ-keyboarded for a 50% reduction in cable span. Over-under,writing pair unshielded cables may be used for the writers, which mayhave integrated servo readers.

The outer wrap angles α₁ may be set in the drive, such as by guides ofany type known in the art, such as adjustable rollers, slides, etc. oralternatively by outriggers, which are integral to the head. Forexample, rollers having an offset axis may be used to set the wrapangles. The offset axis creates an orbital arc of rotation, allowingprecise alignment of the wrap angle α₁.

To assemble any of the embodiments described above, conventional u-beamassembly can be used. Accordingly, the mass of the resultant head may bemaintained or even reduced relative to heads of previous generations. Inother approaches, the modules may be constructed as a unitary body.Those skilled in the art, armed with the present teachings, willappreciate that other known methods of manufacturing such heads may beadapted for use in constructing such heads. Moreover, unless otherwisespecified, processes and materials of types known in the art may beadapted for use in various embodiments in conformance with the teachingsherein, as would become apparent to one skilled in the art upon readingthe present disclosure.

As a tape is run over a module, it is preferred that the tape passessufficiently close to magnetic transducers on the module such thatreading and/or writing is efficiently performed, e.g., with a low errorrate. According to some approaches, tape tenting may be used to ensurethe tape passes sufficiently close to the portion of the module havingthe magnetic transducers. To better understand this process, FIGS. 8A-8Cillustrate the principles of tape tenting. FIG. 8A shows a module 800having an upper tape bearing surface 802 extending between oppositeedges 804, 806. A stationary tape 808 is shown wrapping around the edges804, 806. As shown, the bending stiffness of the tape 808 lifts the tapeoff of the tape bearing surface 802. Tape tension tends to flatten thetape profile, as shown in FIG. 8A. Where tape tension is minimal, thecurvature of the tape is more parabolic than shown.

FIG. 8B depicts the tape 808 in motion. The leading edge, i.e., thefirst edge the tape encounters when moving, may serve to skive air fromthe tape, thereby creating a subambient air pressure between the tape808 and the tape bearing surface 802. In FIG. 8B, the leading edge isthe left edge and the right edge is the trailing edge when the tape ismoving left to right. As a result, atmospheric pressure above the tapeurges the tape toward the tape bearing surface 802, thereby creatingtape tenting proximate each of the edges. The tape bending stiffnessresists the effect of the atmospheric pressure, thereby causing the tapetenting proximate both the leading and trailing edges. Modeling predictsthat the two tents are very similar in shape.

FIG. 8C depicts how the subambient pressure urges the tape 808 towardthe tape bearing surface 802 even when a trailing guide 810 ispositioned above the plane of the tape bearing surface.

It follows that tape tenting may be used to direct the path of a tape asit passes over a module. As previously mentioned, tape tenting may beused to ensure the tape passes sufficiently close to the portion of themodule having the magnetic transducers, preferably such that readingand/or writing is efficiently performed, e.g., with a low error rate.

Magnetic tapes may be stored in tape cartridges that are, in turn,stored at storage slots or the like inside a data storage library. Thetape cartridges may be stored in the library such that they areaccessible for physical retrieval. In addition to magnetic tapes andtape cartridges, data storage libraries may include data storage drivesthat store data to, and/or retrieve data from, the magnetic tapes.Moreover, tape libraries and the components included therein mayimplement a file system which enables access to tape and data stored onthe tape.

File systems may be used to control how data is stored in, and retrievedfrom, memory. Thus, a file system may include the processes and datastructures that an operating system uses to keep track of files inmemory, e.g., the way the files are organized in memory. Linear TapeFile System (LTFS) is an exemplary format of a file system that may beimplemented in a given library in order to enables access to complianttapes. It should be appreciated that various embodiments herein can beimplemented with a wide range of file system formats, including forexample IBM Spectrum Archive Library Edition (LTFS LE). However, toprovide a context, and solely to assist the reader, some of theembodiments below may be described with reference to LTFS which is atype of file system format. This has been done by way of example only,and should not be deemed limiting on the invention defined in theclaims.

A tape cartridge may be “loaded” by inserting the cartridge into thetape drive, and the tape cartridge may be “unloaded” by removing thetape cartridge from the tape drive. Once loaded in a tape drive, thetape in the cartridge may be “threaded” through the drive by physicallypulling the tape (the magnetic recording portion) from the tapecartridge, and passing it above a magnetic head of a tape drive.Furthermore, the tape may be attached on a take-up reel (e.g., see 121of FIG. 1A above) to move the tape over the magnetic head.

Once threaded in the tape drive, the tape in the cartridge may be“mounted” by reading metadata on a tape and bringing the tape into astate where the LTFS is able to use the tape as a constituent componentof a file system. Moreover, in order to “unmount” a tape, metadata ispreferably first written on the tape (e.g., as an index), after whichthe tape may be removed from the state where the LTFS is allowed to usethe tape as a constituent component of a file system. Finally, to“unthread” the tape, the tape is unattached from the take-up reel and isphysically placed back into the inside of a tape cartridge again. Thecartridge may remain loaded in the tape drive even after the tape hasbeen unthreaded, e.g., waiting for another read and/or write request.However, in other instances, the tape cartridge may be unloaded from thetape drive upon the tape being unthreaded, e.g., as described above.

Magnetic tape is a sequential access medium. Thus, new data is writtento the tape by appending the data at the end of previously written data.It follows that when data is recorded in a tape having only onepartition, metadata (e.g., allocation information) is continuouslyappended to an end of the previously written data as it frequentlyupdates and is accordingly rewritten to tape. As a result, the rearmostinformation is read when a tape is first mounted in order to access themost recent copy of the metadata corresponding to the tape. However,this introduces a considerable amount of delay in the process ofmounting a given tape.

To overcome this delay caused by single partition tape mediums, the LTFSformat includes a tape that is divided into two partitions, whichinclude an index partition and a data partition. The index partition maybe configured to record metadata (meta information), e.g., such as fileallocation information (Index), while the data partition may beconfigured to record the body of the data, e.g., the data itself.

Looking to FIG. 9, a magnetic tape 900 having an index partition 902 anda data partition 904 is illustrated according to one embodiment. Asshown, data files and indexes are stored on the tape. The LTFS formatallows for index information to be recorded in the index partition 902at the beginning of tape 906, as would be appreciated by one skilled inthe art upon reading the present description.

As index information is updated, it preferably overwrites the previousversion of the index information, thereby allowing the currently updatedindex information to be accessible at the beginning of tape in the indexpartition. According to the specific example illustrated in FIG. 9, amost recent version of metadata Index 3 is recorded in the indexpartition 902 at the beginning of the tape 906. Conversely, all threeversion of metadata Index 1, Index 2, Index 3 as well as data File A,File B, File C, File D are recorded in the data partition 904 of thetape. Although Index 1 and Index 2 are old (e.g., outdated) indexes,because information is written to tape by appending it to the end of thepreviously written data as described above, these old indexes Index 1,Index 2 remain stored on the tape 900 in the data partition 904 withoutbeing overwritten.

The metadata may be updated in the index partition 902 and/or the datapartition 904 the same or differently depending on the desiredembodiment. According to some embodiments, the metadata of the indexand/or data partitions 902, 904 may be updated in response to the tapebeing unmounted, e.g., such that the index may be read quickly from theindex partition when that tape is mounted again. The metadata ispreferably also written in the data partition 904 so the tape may bemounted using the metadata recorded in the data partition 904, e.g., asa backup option.

According to one example, which is no way intended to limit theinvention, LTFS LE may be used to provide the functionality of writingan index in the data partition when a user explicitly instructs thesystem to do so, or at a time designated by a predetermined period whichmay be set by the user, e.g., such that data loss in the event of suddenpower stoppage can be mitigated.

Damage to TMR sensors is often very difficult to detect. Conventionaltechniques for detecting damage to TMR sensors are expensive,inefficient, and/or ineffective. For example, detecting dielectricbreakdown in a TMR sensor by measuring the sensor resistance andcomparing the resistance to an expected value is not feasible on amanufacturing line because manufacturing processes of TMRs often causevariations in resistance other than variations caused by dielectricbreakdown. Furthermore, externally generated magnetic fields may damagemagnetic responses of materials within heads in which TMR sensors areinstalled. Externally generated magnetic fields may also be tooexpensive and/or time consuming to implement in the manufacturingprocess.

There are additional difficulties in detecting damage where TMR sensorsof different geometries and resistance values are incorporated into asingle product. A constant current source intensifies thesedifficulties. For example, a product comprising a constant currentsource limits the maximum current applied to the sensors to avoid damageto the sensors. The current is conventionally based on the highestexpected resistance for all parts of the product. In this case, the samebias currents are applied to all the TMR sensors in the product despiteany variations in resistance values. Due to large variations in TMRgeometries and/or resistances, an expected slope parameter changesdramatically. The range in expected slope values for TMRs withresistance values ranging over a factor of 2 to 4 may be so large thatusing the same upper and lower limits for failure values for all TMRs ina product results in missing damaged TMR sensors.

Various embodiments of the present invention provide efficient andcost-effective methods for detecting damage to TMR sensors with varyinggeometries and/or resistances in a single product with a constantcurrent source. Various embodiments include passing a range of biascurrents through TMR sensors. The bias current passing through the TMRsensor creates a magnetic field within the TMR sensor that interactswith any defects in the TMR sensor (e.g., dielectric damage, pin-holes,lapping smears, magnetic domains, noise, etc.). The resistance (R) ofthe TMR sensor may be analyzed with respect to the current (I), voltage(V), etc. including analyses of changes to slopes calculated with anymeasured and/or expected values.

TMR sensors conduct more current the higher the applied voltage. Theresistance of the TMR sensors drops with increasing voltage appliedacross the tunnel junction. Conventional TMR read sensors used in thestorage industry are rectangular devices with a width, TW, and a stripeheight, SH. The current flows perpendicular to the TMR sheet describedby the area of TW·SH. The resistance of a TMR sensor, R_(TMRo) at lowcurrent, I_(o), is

$\begin{matrix}{R_{TMRo} = \frac{{RA}_{o}}{\left( {{TW} \cdot {SH}} \right)}} & \left( {1a} \right) \\{with} & \; \\{{RA}_{o} = {{RA}\left( I_{o} \right)}} & \left( {1b} \right)\end{matrix}$

where resistance-times-area (RA) is a parameter of the TMR sensor. TheRA decreases with increasing voltage, V_(mr), applied to the TMR and theresistance of the TMR, R_(TMR)(V_(mr)), also decreases with increasingV_(mr).

TMR sensors are used in the data storage industry to read magnetic datafrom magnetic media as described above. TMR sensors may be lapped from ahigh initial SH at the wafer level to a final desired range as the TMRsensors pass over magnetic coated hard disks and/or tape media. TMRs ina product may have large variations in SH due to the describedprocessing. The range of SH may be a factor of about 2 to 4 or higher.For a current based test system, overbiasing the sensor may causedielectric breakdown. Limiting the voltage across the sensor may preventoverbiasing. The large variations in SH, and therefore, resistance,limit the maximum bias current used, I_(bias-max), to the devices withthe highest resistances, (R_(TMR-Max)=max({R_(TMR)})), and the maximumallowed voltage, V_(bias-max) is given by

$I_{{bias}\text{-}\max} = {\frac{V_{{bias}\text{-}\max}}{R_{{TMR}\text{-}{Max}}}.}$

Now referring to FIG. 10, a flowchart of a method 1000 is shownaccording to one embodiment. The method 1000 may be performed inaccordance with the present invention in any of the environmentsdepicted in FIGS. 1-9 and 11-15, among others, in various embodiments.Of course, more or less operations than those specifically described inFIG. 10 may be included in method 1000, as would be understood by one ofskill in the art upon reading the present descriptions.

Each of the steps of the method 1000 may be performed by any suitablecomponent of the operating environment. For example, in variousembodiments, the method 1000 may be partially or entirely performed bycomputers, or some other device having one or more processors therein.The processor, e.g., processing circuit(s), chip(s), and/or module(s)implemented in hardware and/or software, and preferably having at leastone hardware component may be utilized in any device to perform one ormore steps of the method 1000. Illustrative processors include, but arenot limited to, a central processing unit (CPU), an application specificintegrated circuit (ASIC), a field programmable gate array (FPGA), etc.,combinations thereof, or any other suitable computing device known inthe art.

As shown in FIG. 10, method 1000 includes operation 1002 which comprisesapplying current at least two different current values to a TMR sensor.A current may be applied in any manner known in the art.

Operation 1004 includes measuring a resistance, R_(TMR), at each currentvalue. A resistance, R_(TMR), may be determined and/or measured usingany technique known in the art.

Operation 1006 includes measuring a slope in resistance vs. biascurrent, RD_(SLP), using the measured resistances and the at least twodifferent current values.

In various embodiments, a device may comprise an array of TMR sensorswhich do not corrode simultaneously. In one approach, to test theintegrity of a TMR read element, measure the slope of the change inresistance with bias current, RD_(SLP)(R_(TMR)(I_(bias))):

$\begin{matrix}{{R{D_{SLP}\left( {R_{TMR}\left( I_{bias} \right)} \right)}} = {\frac{\left( {{R_{TMR}\left( I_{bias} \right)} - {R_{TMR}\left( I_{0} \right)}} \right)}{\left\lbrack {I_{bias} - I_{0}} \right\rbrack}.}} & \left( {2a} \right)\end{matrix}$

In other approaches, measure a normalized slope of the change inresistance with bias current:

$\begin{matrix}{{R{D_{SLP}\left( {R_{TMR}\left( I_{bias} \right)} \right)}} = {\frac{\left( {{R_{TMR}\left( I_{bias} \right)} - {R_{TMR}\left( I_{0} \right)}} \right)}{\left( {\left\lbrack {I_{bias} - I_{0}} \right\rbrack \cdot {R_{TMR}\left( I_{0} \right)}} \right)}.}} & \left( {2b} \right)\end{matrix}$

The resistance, R_(TMR), and the slope in resistance vs. bias current,RD_(SLP), may be taken at at least two current values as given inEquations 2a-b. The slope, RD_(SLP), may be taken by fittingR_(TMR)(I_(bias)) to a linear equation of R_(TMR) versus I_(bias) inother embodiments.

Operation 1008 comprises calculating a ΔRD_(SLP) value as a differencebetween the RD_(SLP) value and an expected value, RD_(SLP-expected), forthe TMR sensor. In a preferred embodiment, RD_(SLP-expected) is not thesame for all TMRs in a plurality of TMR sensors for a product.

Decision block 1010 includes determining whether the ΔRD_(SLP) value iswithin a predefined range. In response to determining that the ΔRD_(SLP)value is outside the predefined range, method 1000 outputs an indicationthat the TMR sensor fails. In response to determining that the ΔRD_(SLP)value is within the predefined range, method 1000 outputs an indicationthat the TMR sensor passes. The indication may be output to the user,drive, remote computer, operating system, etc. The indication may be anaural and/or visual notification.

In various configurations, method 1000 may output an indication and/orlabel TMR sensors whose measurements are within the predefined range as“good.” Good TMR sensors may refer to TMR sensors which pass one or moreof the various testing processes described herein. Method 1000 mayoutput an indication and/or label TMR sensors whose measurements areoutside the predefined range as “bad.” Bad TMR sensors may refer to TMRsensors which fail one or more of the various testing processesdescribed herein.

In one embodiment, the expected value, RD_(SLP-expected), is determinedby performing calculations on measurements for a plurality of TMRsensors whose resistance values at a fixed current or voltage, R_(TMRo),span the range of resistance values for the plurality of TMR sensors ina product. The calculations may comprise measuring a resistance,R_(TMRo), and a slope in resistance vs. bias current, RD_(SLP), for eachof the plurality of TMR sensors. The calculations may comprise creatinga fit for RD_(SLP) vs. R_(TMRo) values for the sensors according to anyof the embodiments described in detail below. The expected valueRD_(SLP-expected) may be determined based on the fit.

The calculations comprise creating a fit for RD_(SLP) vs. R_(TMRo) usingthe RD_(SLP) and R_(TMRo) values for the sensors. In one approach, thefit may be a polynomial fit. The polynomial fit may be generated byRD _(SLP-FIT) =a ₀ +a ₁ ·R _(TMR) +a ₂ ·R ² _(TMR).  (3)

For a cabled device, the cable resistance, R_(c), may be added to atotal resistance, as will any internal lead resistances, R_(L), ofR_(DUT), whereR _(TMR) =R _(DUT) −R _(c) −R _(L).

A polynomial fit for RD_(SLP) vs. R_(TMRo) using the RD_(SLP) andR_(TMRo) values for the sensors may be created using any technique knownin the art. Adherence of measured data to the fit data may be regardedas the “smoothness” of the polynomial fit when plotted. Deviation of themeasured data from the polynomial fit (e.g., such as kinks and/or othervariations from the relatively smoother portions) may be indicative ofoutliers. In various approaches, if the outliers are within a predefinedrange outside the fit, the TMR element may be considered damaged.

In another approach, creating the fit for RD_(SLP) vs. R_(TMRo) usingthe RD_(SLP) and R_(TMRo) values for the sensors includes creating amedian fit for RD_(SLP) vs. R_(TMRo) in a narrow predefined range aroundeach R_(TMRo) value using measured RD_(SLP) and R_(TMRo) values from alook-up table. The look-up table may comprise pre-determined RD_(SLP)values, R_(TMR) values, R_(TMRo) values, etc., for a set of sensorswhose resistance values, R_(TMR), span the range of resistance valuesfor the plurality of TMR sensors of the product.

In yet another approach, creating the fit for RD_(SLP) vs. R_(TMR) usingthe RD_(SLP) and R_(TMR) values for the sensors includes creating astandard deviation, ΣRD_(SLP), of RD_(SLP) vs. R_(TMRo) using theRD_(SLP) and R_(TMR) values for the sensors. In this approach, ΔRD_(SLP)may be calculated as a difference between the RD_(SLP) value and anexpected value, RD_(SLP-expected), for each of the plurality of TMRsensors. Creating a fit may comprise determining whether the ΔRD_(SLP)value is within a second predefined range. The second predefined rangemay be based on ΣRD_(SLP). The lower limit of the second predefinedrange may be determined by ΔRD_(SLP)≥−N_(LL)·ΣRD_(SLP) and the upperlimit of the second predefined range may be determined byRD_(SLP)≤N_(UL)·ΣRD_(SLP) where N_(LL) and N_(UL) are predefinedpositive real numbers. In a preferred approach, the predefined positivereal numbers, N_(LL) and N_(UL), are about 4.

In response to determining that the ΔRD_(SLP) value is outside thesecond predefined range, the method 1000 outputs an indication that theTMR sensor fails. In response to determining that the ΔRD_(SLP) value iswithin the second predefined range, the method 1000 outputs anindication that the TMR sensor passes.

In other approaches, determining that TMR sensors pass or fail includescomparing the RD_(SLP) value of each sensor to an expected valuegenerated by the fit. TMR sensors with slope values outside the normaldistribution have a higher probability of having a magnetic and/orphysical defect. In various embodiments discussed herein, the term“damage” refers generally to any abnormalities and/or defects in the TMRsensor which affect the operation of the TMR sensor. For example, damageto a TMR sensor may include magnetic domains, instability, defects,breakdown of materials of the TMR sensor, etc.

Determining whether a TMR sensor passes or fails may include detectingoutlier RD_(SLP) values for the sensors. In various approaches,detecting outliers includes performing a maximum nearest neighboranalysis, a minimum nearest neighbor analysis, a median nearest neighboranalysis, etc. A “nearest neighbor analysis” as referred to herein,includes analyses for comparing measured data of individual sensors toone another in a multi-sensor device. For example, a multi-sensor devicemay comprise ten TMR sensors arranged in a linear, side-by-side mannerwhere the nearest neighbor of each TMR sensor is the adjacent TMR sensoron either side of the TMR sensor in the arrangement. Nearest neighboranalysis may be used for any measured and/or calculated value. In oneapproach, a user, manufacturer, supplier, etc. may specify a predefinedrange pertaining to the extent to which the measurements for each sensormay differ from one another.

The conventional method of “nearest neighbor analysis” as describedabove includes fitting all data to a polynomial and determining outliersby the deviation from the fit. The problem with this conventionalapproach is that the fit often does not accurately yield the properexpected values because the fit is shifted by including outliers in thefit. Another conventional method for nearest neighbor analysis includescomparing the value of each part to its neighbors. The problem with thisconventional approach is that using the minimum deviation from theneighbor misses potential outliers compared to “good” parts and usingthe maximum deviation from the neighbor oversamples the outliers.

In one illustrative example, using the minimum deviation from theneighbors undersamples the damaged or bad tracks. If track 2 and track 3are damaged and have similar values to one another, yet the values fortrack 2 and track 3 are relatively farther from the values of track 1and track 4, using the minimum deviation will result in comparing track2 and track 3 to one another. Track 2 and track 3 will be falselylabeled as good even though track 2 and track 3 are relatively fartherfrom the good tracks.

An example of oversampling damaged or bad tracks using the maximumdeviation from the neighbors occurs when track 2 is damaged but track 1and track 3 are good. While the maximum deviation will correctlyindicate that track 3 is damaged (e.g., due to a relatively largerdeviation from either track 1 or track 3), track 1 and track 3 will befalsely labeled as damaged or bad because track 1 and track 3 have arelatively large deviation from track 2.

An improved nearest neighbor analysis as disclosed herein first excludesoutlier TMR sensors using a nearest neighbor method which excludes partsbased on the maximum deviation from the two nearest neighbors. Twoapproaches can be used for the remaining parts (e.g., the nonexcludedparts). A first approach (e.g., a polynomial fit with iterativeexclusion method) includes fitting the remaining, nonexcluded parts to apolynomial and then comparing the R_(TMR) value of a sensor to theexpected value (e.g., RD_(SLP-expected)) from the polynomial fit todetermine whether the R_(TMR) value of the sensor is within a predefinedrange. Any parts which are within a predefined range of the polynomialfit are labeled “good.” Any parts which are outside a predefined rangeof the polynomial fit are labeled “bad.” Comparing all parts to theexpected value from the polynomial fit and excluding parts which are notwithin the predefined range of the polynomial fit may be iterated untilthe labeling of good and bad parts remains about constant. In apreferred approach, the process may be iterated until the labeling ofexcluded sensors remains about constant for at least two consecutiveiterations. In a second approach (e.g., a revised nearest neighbor fitwith the iterative exclusion method), the nearest neighbor method of thefirst step is similarly used to exclude outlier TMR sensors based on themaximum deviation from the two nearest neighbors. TMR sensors within themaximum deviation from the two nearest neighbors may be labeled as goodand TMR sensors outside the maximum deviation from the two nearestneighbors may be labeled as bad. The nearest neighbor comparison isrepeated using only the two nearest neighbors which were labeled as goodon the previous pass. This second approach may be repeated until thelabeling of good and bad parts remains about constant. In a preferredapproach, the process may be iterated until the labeling of excludedsensors remains about constant for at least two consecutive iterations.In both approaches, the sensors which are labeled as good may be used tocreate the fit for RD_(SLP) vs. R_(TMR). The improved nearest neighboranalysis as disclosed may be applied to exclude TMR sensors in anyembodiment presented herein.

In various approaches, the nonexcluded TMR sensors may be fit to apolynomial of RD_(SLP) vs. TMR track, m, wherein m is sequential from 1to the number of TMR sensors located on the common substrate, and thepolynomial fit to RD_(SLP) vs. m for track m is RD_(SLP-expected) fortrack m, RD_(SLP-expected-m). The measured value of RD_(SLP) for eachsensor, RD_(SLP-m), may be compared to a RD_(SLP-expected-m) value fromthe polynomial fit to determine whether the RD_(SLP)-m value of thesensor is within the second predefined range as described above.

In one embodiment, a user may specify a range of acceptable deviation(e.g., ΔR_(n)=R_(n)−R_(fit-n)) from the polynomial fit outside of whichthe TMR sensor is considered an outlier. For example, if ΔR_(n)<ΔR_(LL)and/or ΔR_(n)>ΔR_(UL), track n may be considered an outlier. IfΔR_(n)>ΔR_(LL) and/or ΔR_(n)<ΔR_(UL), track n may not be considered anoutlier. A range of acceptable deviation for any of the disclosedembodiments herein may be theoretically and/or experimentallydetermined.

Note that the above-mentioned outlier exclusion methods can be used forany parameter in a group of parts which are built and processedsimultaneously, and which are expected to be self-similar or nearlyidentical. In these cases, the values for the parts along the line ofparts are expected to vary in a smooth manner so the difference in valuefrom one device to the next in the line should be minimal. In thesecases, as long as the parts are good and not damaged, the values of theparameters should be fit well with a polynomial of order 0 (constant), 1(linear), or 2 (quadratic). Examples of parameters are resistance and/orquasi-static magnetic amplitude for TMR sensors built on a wafer andsubsequently processed to lap a row of parts into a tape head module,MRAM, and/or any other semiconductor devices known in the art.

In other embodiments, the accuracy of determining the integrity of TMRelements may be improved where a group of TMRs (e.g., 8, 16, 32, etc.)are processed within a single module from the same wafer and lappedsimultaneously. The group of TMR sensors may be physically adjacent toone another and lapped to ostensibly the same stripe height. Theoperations of 1000 may be applied where all sensors are in the samemodule. For example, where all sensors are in the same module, thesensors may have substantially similar slope values.

In an alternative approach, method 1000 may include a residual methodfor flagging damaged, outlier tracks using the polynomial fit describedabove for the expected RD_(SLP). In one approach, the residual methodmay include applying currents I₁ and I₂ to each of n TMR sensors locatedon a common substrate and measuring resistance, R_(TMR) (I_(m)), m=1:2.The residual method may include calculating the slope, RD_(SLPn), by

${RD_{SLPn}} = {\frac{\left\lbrack {{R_{TMR}\left( I_{2} \right)} - {R_{TMR}\left( I_{1} \right)}} \right\rbrack}{\left( {I_{2} - I_{1}} \right)}.}$

In a first approach, the residual method includes fittingRD_(SLP)(R_(TMR)) to a quadratic in R_(TMR) according to Equation 3 andthe standard deviation Σ_(SLP)(R_(TMR)) of the data may be fit accordingto:

$\;{\underset{SLP}{\Sigma} = {\exp\left( {{- s} + {s_{2} \cdot R_{TMR}}} \right)}}$or$\underset{SLP}{\Sigma} = {\frac{1}{\left( {d_{1} + {d_{2} \cdot R_{TMR}}} \right)}.}$

In one operation of the first approach, calculate the residuals for then^(th) element by ΔRD_(SLP-n)=RD_(SLP-n)−RD_(SLP-FIT). For a good TMR, alower limit may be set as ΔRD_(SLP-LL)=−N_(LL)·Σ_(SLP)(R_(TMR)) and anupper limit may be set as ΔRD_(SLP-UL)=N_(UL)·Σ_(SLP)(R_(TMR)) whereN_(LL) and N_(UL) are predefined positive real numbers. IfRD_(SLP-LL)≤ΔRD_(SLP-n)≤ΔRD_(SLP-UL), the TMR element is good. If no,the TMR element is an outlier. In some approaches, an outlier may beconsidered damaged and marked for removal. The upper limit and/or lowerlimit may be experimentally and/or theoretically determined. The upperlimit and/or lower limit may be set by the user, by the manufacturer, bydefault settings, etc.

In a second approach, calculate a module median, RD_(SLP-Median) and theresiduals for the n^(th) element byΔRD_(SLP-n)=RD_(SLP-n)−median{RD_(SLP)}. For a good TMR, a lower limitmay be set as ΔRes_(SLP-LL) and an upper limit may be set asΔRes_(SLP-UL). If ΔRes_(SLP-LL)≤ΔRD_(SLP-n)≤ΔRes_(SLP-UL), the TMRelement is good. If no, the TMR element is an outlier. An outlier may belabeled as a “bad” sensor in various configurations. In some approaches,an outlier may be considered damaged and marked for removal.

In various embodiments, for either approach of the residual method,N_(LL) and N_(UL) are set to positive and negative predefined realnumbers. In preferred configurations, the predefined real number isabout 4.

Many testers are constant current testers. In one exemplaryimplementation of the following embodiment of method 1100, a constantcurrent based tester may be used as a pseudo voltage based tester byiteratively changing the current, measuring the resistance, calculatingthe voltage and resetting the current to achieve the desired voltageaccording to the various operations described in detail below.

Now referring to FIG. 11, a flowchart of a method 1100 is shownaccording to one embodiment. The method 1100 may be performed inaccordance with the present invention in any of the environmentsdepicted in FIGS. 1-10 and 12-15, among others, in various embodiments.Of course, more or less operations than those specifically described inFIG. 11 may be included in method 1100, as would be understood by one ofskill in the art upon reading the present descriptions.

Each of the steps of the method 1100 may be performed by any suitablecomponent of the operating environment. For example, in variousembodiments, the method 1100 may be partially or entirely performed bycomputers, or some other device having one or more processors therein.The processor, e.g., processing circuit(s), chip(s), and/or module(s)implemented in hardware and/or software, and preferably having at leastone hardware component may be utilized in any device to perform one ormore steps of the method 1100. Illustrative processors include, but arenot limited to, a central processing unit (CPU), an application specificintegrated circuit (ASIC), a field programmable gate array (FPGA), etc.,combinations thereof, or any other suitable computing device known inthe art.

As shown in FIG. 11, method 1100 includes operation 1102 which comprisessetting a target voltage for a tunneling magnetoresistance (TMR) sensor.In a preferred approach, the target voltage, V_(target), may be setusing a current-based tester. In one approach, an initial bias currentis relatively low. The target voltage for a TMR sensor (e.g., thedesired voltage) may be defined as V_(set). In other approaches, thetarget voltage may be referred to as V_(target).

Operation 1104 comprises repeating the following sequence iterativelyusing different current values until a bias voltage within a predefinedrange of the target voltage is achieved. The predefined range of thetarget value may be denoted by ΔV_(limit). ΔV_(limit) may refer to theaccuracy in setting a V_(biasn) to the desired V_(set). In someapproaches, the sequence may be iteratively repeated for n steps untilV_(biasn) is within a range of the target value (e.g., ΔV_(limit) ofV_(set)). In one approach, the ΔV_(limit) is set such that R_(n) is theresistance measured at (R_(dut)(I_(biasn))) in the n^(th) step withcurrent I_(biasn) is:[Rdut,IbiasUse]=Function(Ibias1,Vset).

In various approaches, a predefined range may be set by the user, by amanufacturer, default settings, etc. A predefined range of the targetvoltage may be theoretically and/or experimentally determined.

In one approach, the different current values may be selected such thatthe voltage is within a range of a minimum magnitude voltage (V_(min))to a maximum magnitude voltage (V_(max)). In a preferred approach, thedifferent current values are selected in n evenly spaced steps.

In a preferred embodiment, V_(set) is selected as a value lower than amaximum allowed voltage, V_(max). In another preferred approach,V_(biasn) is less than or equal to V_(set).

Operation 1106 comprises selecting a current value. In one approach, aninitial bias current, I_(bias1), alternatively referred to herein asI_(set), may be set such that V_(set) for the TMR with the highestpossible resistance, R_(max), is given by:

$\begin{matrix}{{n = 1},{I_{{bias}\; 1} = {\frac{V_{set}}{R_{{TMR}\text{-}{expected}}}.}}} & (4)\end{matrix}$

where R_(TMR-expected) is an expected resistance for the TMR sensor. Inone embodiment, the values of R_(TMR-expected) for all iterations otherthan the initial iterations are the values of R_(TMR) from the previousiteration.

In other approaches, an initial bias current, I_(bias), set for the TMRwith the highest possible resistance, R_(max), prevents damage to theparts. Damage to the parts is prevented where the bias voltage is lessthan the V_(set) chosen and less than the maximum allowed voltage,V_(max), for the safe operation of the TMRs used.

Operation 1108 comprises applying a current at the current value to theTMR sensor. In one approach, the applied current at the current valuemay be denoted as I_(biasn) or alternatively, as I_(set). The currentmay be applied in any manner known in the art.

Operation 1110 comprises measuring a resistance across the TMR sensor.The resistance may be measured in any manner known in the art. In oneapproach, the resistance may be measured as:R _(n) =R _(dut)(I _(biasn)).  (5)

The resistance measurement may be denoted as R_(TMR) in variousapproaches.

Operation 1112 comprises calculating the bias voltage based on thecurrent value and measured resistance. In one approach, the bias voltagemay be calculated as:V _(biasn) =R _(n)(I _(biasn))*(I _(biasn)).  (6)

Operation 1114 comprises comparing the calculated bias voltage, in someapproaches, denoted as V_(cal), or, alternatively, denoted as V_(biasn),to the target voltage, denoted as V_(target). In one approach, comparingthe calculated bias voltage to the target voltage includes checkingwhether the V_(set) has been reached. In one embodiment, ifabs(V_(biasn)−V_(set))≤ΔV_(limit), R_(dut)=R_(n), andIbiasUse=I_(biasn), the V_(set) has been reached. Ifabs(V_(biasn)−V_(set))>ΔV_(limit), for n=n+1 and

${I_{biasn} = \frac{V_{set}}{R_{n - 1}}},$update the I_(biasn) according to operation 1104, 1106, and 1108.

Decision block 1116 includes determining whether V_(cal) is within apreferred range of V_(target). The predefined range may beexperimentally and/or theoretically determined. If V_(cal) is within apredefined range of V_(target), proceed to operation 1118.

Operation 1118 comprises storing the current value in response todetermining that the bias voltage is within a predefined range of thetarget voltage. In one approach, determining that the bias voltage iswithin a predefined range of the target value includes determining thatabs(V_(biasn)−V_(set))≤ΔV_(limit). In one embodiment, the current value,I_(biasn), may be stored in an lset.txt file. In other approaches, theI_(biasn) may be stored in any manner known in the art.

Operation 1120 includes, in response to determining V_(cal) is notwithin a preferred range of V_(target), calculating a current I_(set)such that I_(set)=V_(target) and proceeding to operation 1108. Themethod 1100 may iterate various operations as disclosed herein until itis determined that the bias voltage is within a predefined range of thetarget voltage.

In one approach, method 1100 includes setting the target voltage,V_(target), based on target voltage values in a first file text, whereinthe current values, I_(bias), are stored in a second text file and thesecond text file is used during reading operations.

In one exemplary embodiment, the method 1100 comprises using twoindependent programs wherein Program 1 reads a first text file,RdFilelbias1.txt, comprising the stored current values (e.g., theI_(bias) values stored in operation 1118) to apply to the TMRs. Program1 may perform various current-based operations on the TMRs. Program 2reads a second text file, RdFileVbias2.txt, comprising a set of targetvoltages, V_(target). Program 2 may perform the various operationsdescribed in method 1100 and output the set of I_(bias) values asdetermined from the various operations. The set of I_(bias) values maybe output and stored in the first text file (e.g., RdFileIbias1.txt)which may be used by Program 1. A complete program may comprise Program2 running first to generate the RdFileIbias1.txt text file as an output,and then running Program 1 which reads the RdFileIbias1.txt text filegenerated by Program 2 during reading operations.

In various embodiments, the method 1100 may include reading the lset.txtfile or any file which stores the I_(biasn) current value. The method1100 may include setting a current value, I_(set), to the I_(biasn)current value and measuring the resistance (e.g.,R_(TMR)=R_(TMR)(I_(set))). The V_(actual) may be measured for thecurrent value. The V_(actual) and/or R_(TMR) may be stored in a lset.txtfile or any other manner known in the art.

In another embodiment for modifying a constant current based tester foruse as a pseudo voltage based tester, the resistances are measured atlow current (voltage) for determining the current at all voltages. Forexample, the I_(o) may be read where I_(o)<V_(max)/R_(max). The I_(o)may be set and the R_(TMR) may be measured. A V_(set) may be read andthe {I_(set)} may be calculated such that {I_(set)}={V_(set)}/R_(TMRo).In one embodiment, for a module comprising multiple TMRs, the {I_(set)}values may be determined for all tracks. The {I_(set)} values may bestored in an lset.txt file. In another embodiment, the {I_(set)} valuesmay be determined individually for all tracks. The actual voltages maybe determined based on the operations of method 1100 as described above.In various embodiments, the execution times may be significantlyreduced.

In yet another embodiment for a pseudo constant voltage tester, thevoltage may be swept from the minimum magnitude voltage (V_(min)) to themaximum magnitude voltage (V_(max)) and back to the V_(min) in n evenlyspaced steps. For each n step, the resistance may be measured for bothpositive and negative polarities. The measured resistance for the givenvoltage swept from V_(min) and V_(max) for the positive polarity andfrom −V_(max) and −V_(min) the negative polarity may be defined asR(V_(Nup)). The measured resistance for the same voltage when sweepingfrom V_(max) to V_(min) for the positive polarity and from −V_(min) and−V_(max) for the negative polarity may be defined as R(V_(Ndown)). Inthis embodiment, the standard deviation in resistance may be determinedaccording to {R(V_(Nup))−R(V_(Ndown))}. The standard deviation may beused to determine defects as outliers from the group. An outlier may bea value and/or a TMR sensor associated with a value which is outside apredefined range outside of an upper and/or lower limit. The upperand/or limits may be experimentally and/or theoretically determined.

In this embodiment, the slope of the resistance change, RD_(SLP), may bedefined as

$\frac{dR}{dV}$and the normalized resistance slope RD_(SLP-Norm) may be defined as

$\frac{dR}{{dV} \cdot R}.$The derivatives may be determined from the resistance values measuredfor at least two voltages value (e.g., between V_(min) and V_(max)) ofthe same polarity. Either RD_(SLP) or RD_(SLP-Norm) may be used todetect outliers from a group of TMR sensors. Similarly, an outlier maybe a value and/or a TMR sensor associated with a value which is within apredefined range outside of an upper and/or lower limit. The upperand/or limits may be experimentally and/or theoretically determined.

FIG. 12 is a plot of RD_(SLP) versus cabled TMR resistance (RD_(R)),taken at a single value of I_(bias) of 1.2 mA, and an I_(o) of 0.2 mA.I_(bias) may be derived from Equation 2a in order to avoid dielectricbreakdown for the sensors with the highest resistance. A single maximumcurrent was used for a constant current tester for all TMRs within aproduct with a wide range of geometries (e.g., resistances). Theexpected RD_(SLP) varies greatly across the product values of R_(TMR).The range is from about 0 Ω/mA at 55Ω to about −2.0 Ω/mA at 180Ω. Theresistance values range over a factor of 3 such that the voltage acrossthe highest resistance parts is three times that of the low resistanceparts. The error bars indicate a ±3 sigma (±3·Σ_(SLP)) and a ±6 sigma(±6·Σ_(SLP)) from Σ_(SLP).

The slope, RD_(SLP), may be fit to a polynomial curve, RD_(SLP-polyfit),using Equation 3 with a_(o)=−0.0393 mA⁻¹, a₁=0.0050 mA⁻¹Ω⁻¹, anda₂=−8.59×10−5 mA⁻¹Ω⁻². The polynomial curve and fitting parameters areshown in FIG. 12.

To the first order, the expected RD_(SLP) at a voltage, V_(bias), for afixed and sufficiently high bias (e.g., I_(bias)=I_(test)=1.2 mA), maybe given by R_(TMR)=V_(bias)/I_(test). The expected RD_(SLPV-FIT) versusV_(bias) may be determined using:RD _(SLP-FIT) =v ₀ +v ₁ ·V _(bias) +v ₂ ·V _(bias) ²

where v₀=a₀,

${v_{1} = \frac{a_{1}}{I_{test}}},{{{and}\mspace{14mu} v_{2}} = {\frac{a_{2}}{I_{test}^{2}}.}}$

The standard deviation versus voltage may be determined by:Σ_(SLP)=exp(−b+b ₂ ·V _(bias))Ω/mA

where b₁=s₁ and b₂=s₂ or

$\underset{SLP}{\Sigma} = {\frac{1}{\left( {d_{1} + {d_{2} \cdot R_{TMR}}} \right)}\Omega\text{/}{{mA}.}}$

Other parameters may include a voltage slope defined by:

${R{D_{SLPV}\left( {R_{TMR}\left( I_{bias} \right)} \right)}} = {\frac{\left( {{R_{TMR}\left( V_{bias} \right)} - {R_{TMR}\left( v_{0} \right)}} \right)}{\left\lbrack {V_{bias} - v_{0}} \right\rbrack}.}$

FIG. 13 is a plot of the standard deviation, Σ_(SLP), versus RD_(R). Thestandard deviation, Σ_(SLP), increases with the cabled TMR resistance,RD_(R). The increase in deviation with TMR resistance is within a rangefrom about 0.025 Ω/mA to about 0.12 Ω/mA. The analytical expression maybe given by:

$\underset{SLP}{\Sigma} = {\exp\left( {{{- {4.0}}9} + {0{{.0105} \cdot {RD}_{SLP}}}} \right)}$or$\underset{SLP}{\Sigma} = {\frac{1}{\left( {41.7 - {0{{.196} \cdot {RD}_{SLP}}}} \right)}.}$

FIGS. 12 and 13 show, for a constant current source, a single value forRD_(SLP) and/or a single value for the deviation from the expected valueis inadequate for accurately flagging damaged TMR elements. FIG. 13demonstrates the limitations of a single upper and lower limit forRD_(SLP) in detecting damaged TMR sensors. Various embodiments of thepresent invention describe a resistance dependent slope given by thepolynomial fit to RD_(SLP)(RD_(R)) and a resistance dependent errorderived from the polynomial fit to Σ_(SLP)(RD_(R)) which improve theaccuracy of determining whether a TMR sensor is corroded.

The curve shown in FIG. 12 may represents a single, fixed andsufficiently high I_(bias) for all TMRs with a constant current sourceand a variable bias voltage, V_(bias), whereV _(bias) =R _(TMR) ·I _(bias).  (5)

The lower resistance (e.g., higher stripe height) TMRs have a lower biasvoltage than the short stripe height parts. The resulting slope value isless sensitive to detecting damage. For a fixed bias current, varyingthe limits for RD_(SLP) versus R_(TMR) may yield a better indicator ofthe damaged parts.

In one embodiment, RD_(SLP) data may be used to improve the accuracy ofdetecting outliers. The measured resistance value of an individual TMRmay be compared to the expected value of a part with the same resistancevalue. In one approach, determining the expected value includes fittingthe RD_(SLP) versus R_(TMR) data to a mathematical curve and comparingeach individual measured RD_(SLP)(R_(TMR)) to the expected valuegenerated by the fit. For example, RD_(SLP-FIT)=a₀+a₁·R_(TMR)+a₂·R_(TMR)².

For a cabled device, the cable resistance, R_(c), is added to a totalresistance of R_(DUT) given by R_(TMR)=R_(DUT)−R_(c).

TMR sensors with slope values outside the normal distribution have ahigher chance of having magnetic and/or physical defect. Referring againto FIG. 12, a defective track (e.g., Defect T17) is shown. Theresistance and amplitude for T17 are within a normal range of theremaining 32 tracks in the tape drive but the (signal-to-noise ratio)SNRa is degraded substantially.

FIG. 14 is a plot of a drive SNRa and a residual RD_(SLP) versus tracksin a tape head module in a drive, the tape head module comprising 33TMRs. The residual RD_(SLP) is the difference between the actual valueand the polynomial fit, RD_(SLP-polyfit), from Equation 3:Residual RD _(SLP) =RD _(SLP) −RD _(SLP-polyfit).  (7)

In other approaches, the residual RD_(SLP) may interchangeably be thedifference between the individual RD_(SLP) and the module medianRD_(SLP):ΔRD _(SLP-n) =RD _(SLP-n)−median{RD _(SLP)}

where median{RD_(SLP)} is the median RD_(SLP) of the group of 33 TMRs ineach drive and RD_(SLP-polyfit) is given by Equation 3.

FIG. 14 shows Track 21 (e.g., T21) has a high positive RD_(SLP-21) ofabout +0.5 Ω/mA, which represents an extreme outlier. The SNRa for T21is about 5 dB below the rest of the tracks and the module median. Thelow SNRa for T21 results in the head failing a drive test.

FIG. 15 is a plot of a drive SNRa and a residual RD_(SLP) versus tracksin a tape head module in a drive, the tape head module comprising 33TMRs. FIG. 15 shows Track 5 (e.g., T5) with a negative residualRD_(SLP-5) of about −0.7 Ω/mA, which represents an extreme outlier. TheSNRa for T5 is about 5.5 dB below the rest of the tracks and the modulemedian. The low SNRa for T5 results in the head failing a drive test.

Studies of a large population of drives showed that the failure rate wasfour times higher for drives having an RD_(SLP) which is at least2-sigma beyond the expected polynomial fit using the global standarddeviation, Σ_(SLP).

In another approach, the group (or module) standard deviation may bedenoted by σ_(SLP). Referring to FIGS. 14 and 15, the outlier tracks forResidual RD_(SLP) are at least 8·σ_(SLP) from the 33 track modulemedians. The corresponding SNRa values are more than 5 dB from themodule median values. The module standard deviation may be moresensitive than the global standard deviation where shifts in the medianRD_(SLP) are not included. The Module Residual RD_(SLP) may be definedas the deviation from the module median RD_(SLP)(ModuleMedian(RD_(SLP))) without calculating RD_(SLP-polyfit):Module Residual RD _(SLP) =RD _(SLP)−ModuleMedian(RD _(SLP))  (8)

Each approach may yield the same value for σ_(SLP).

Regarding FIGS. 14 and 15, the resistance values of the TMRs in thedrives are nominal. The R_(TMR) values are about 110Ω and a medianRD_(SLP) value of 0.5 Ω/mA. The ΔRD_(SLP-n) of the flagged tracks areextreme outliers from the expected RD_(SLP) values for the TMRs in thedrive even though the values are well within the minimum and maximum ofall parts in the product (e.g., −2.0 to +2.0 Ω/mA in this exemplarydrive). Various embodiments of the present inventions provide efficientoperations for detecting outliers which may otherwise be erroneouslyoverlooked.

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a computer, or other programmable data processing apparatusto produce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks. These computerreadable program instructions may also be stored in a computer readablestorage medium that can direct a computer, a programmable dataprocessing apparatus, and/or other devices to function in a particularmanner, such that the computer readable storage medium havinginstructions stored therein comprises an article of manufactureincluding instructions which implement aspects of the function/actspecified in the flowchart and/or block diagram block or blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be accomplished as one step, executed concurrently,substantially concurrently, in a partially or wholly temporallyoverlapping manner, or the blocks may sometimes be executed in thereverse order, depending upon the functionality involved. It will alsobe noted that each block of the block diagrams and/or flowchartillustration, and combinations of blocks in the block diagrams and/orflowchart illustration, can be implemented by special purposehardware-based systems that perform the specified functions or acts orcarry out combinations of special purpose hardware and computerinstructions.

Moreover, a system according to various embodiments may include aprocessor and logic integrated with and/or executable by the processor,the logic being configured to perform one or more of the process stepsrecited herein. The processor may be of any configuration as describedherein, such as a discrete processor or a processing circuit thatincludes many components such as processing hardware, memory, I/Ointerfaces, etc. By integrated with, what is meant is that the processorhas logic embedded therewith as hardware logic, such as an applicationspecific integrated circuit (ASIC), a FPGA, etc. By executable by theprocessor, what is meant is that the logic is hardware logic; softwarelogic such as firmware, part of an operating system, part of anapplication program; etc., or some combination of hardware and softwarelogic that is accessible by the processor and configured to cause theprocessor to perform some functionality upon execution by the processor.Software logic may be stored on local and/or remote memory of any memorytype, as known in the art. Any processor known in the art may be used,such as a software processor module and/or a hardware processor such asan ASIC, a FPGA, a central processing unit (CPU), an integrated circuit(IC), a graphics processing unit (GPU), etc.

It will be clear that the various features of the foregoing systemsand/or methodologies may be combined in any way, creating a plurality ofcombinations from the descriptions presented above.

It will be further appreciated that embodiments of the present inventionmay be provided in the form of a service deployed on behalf of acustomer to offer service on demand.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

What is claimed is:
 1. A computer-implemented method to detect a damagedtunneling magnetoresistance (TMR) sensor, the method comprising:applying current at at least two different current values to the TMRsensor; measuring a resistance, R_(TMR), at each current value;measuring a slope in resistance vs. bias current, RD_(SLP), using themeasured resistances R_(TMR) and the at least two different currentvalues; calculating a ΔRD_(SLP) value as a difference between theRD_(SLP) value and an expected value, RD_(SLP-expected), for the TMRsensor, wherein RD_(SLP-expected) is not the same value for all TMRs ina plurality of TMR sensors for a product; determining whether theΔRD_(SLP) value is within a predefined range; in response to determiningthat the ΔRD_(SLP) value is outside the predefined range, outputting anindication that the TMR sensor fails; and in response to determiningthat the ΔRD_(SLP) value is within the predefined range, outputting anindication that the TMR sensor passes.
 2. The computer-implementedmethod of claim 1, wherein the expected value, RD_(SLP-expected), isdetermined by performing calculations on measurements for the pluralityof TMR sensors, the calculations performed on the measurements for theplurality of TMR sensors whose resistance values at a fixed current orvoltage, R_(TMRo), span the range of resistance values for the pluralityof TMR sensors for the product comprising: measuring a resistance,R_(TMRo), and a slope in resistance vs. bias current, RD_(SLP), for eachof the plurality of tunneling magnetoresistance (TMR) sensors; creatinga fit for RD_(SLP) vs. R_(TMRo) using the RD_(SLP) and R_(TMRo) valuesfor the sensors; and determining the expected value, RD_(SLP-expected),based on the fit for RD_(SLP) vs. R_(TMRo).
 3. The computer-implementedmethod of claim 2, wherein creating the fit for RD_(SLP) vs. R_(TMRo)using the RD_(SLP) and R_(TMRo) values for the sensors includes creatinga polynomial fit for RD_(SLP) vs. R_(TMRo) using the RD_(SLP) andR_(TMRo) values for the TMR sensors.
 4. The computer-implemented methodof claim 2, wherein creating the fit for RD_(SLP) vs. R_(TMR) using theRD_(SLP) and R_(TMRo) values for the sensors includes creating a medianfit for RD_(SLP) vs. R_(TMRo) in a narrow predefined range around eachR_(TMRo) value using measured RD_(SLP) and R_(TMRo) values from alook-up table for a set of TMR sensors whose resistance values,R_(TMRo), span the range of resistance values for the plurality of TMRsensors for the product.
 5. The computer-implemented method of claim 2,wherein creating the fit for RD_(SLP) vs. R_(TMR) using the RD_(SLP) andR_(TMRo) values for the sensors includes creating a standard deviation,ΣRD_(SLP), of RD_(SLP) vs. R_(TMRo) using the RD_(SLP) and R_(TMRo)values for the sensors; calculating a ΔRD_(SLP) as a difference betweenthe RD_(SLP) value and an expected value, RD_(SLP-expected), for each ofthe plurality of TMR sensors; determining whether the ΔRD_(SLP) value iswithin a second predefined range, wherein the second predefined range isbased on ΣRD_(SLP); in response to determining that the ΔRD_(SLP) valueis outside the second predefined range, outputting an indication thatthe TMR sensor fails; and in response to determining that the ΔRD_(SLP)value is within the second predefined range, outputting an indicationthat the TMR sensor passes.
 6. The computer-implemented method of claim5, wherein an upper limit of the second predefined range is determinedby ΔRD_(SLP)≤N_(UL)·ΣRD_(SLP), wherein a lower limit of the secondpredefined range is determined by ΔRD_(SLP)≥−N_(LL)·ΣRD_(SLP), whereinN_(UL) and N_(LL) are predefined positive real numbers.
 7. Thecomputer-implemented method of claim 6, wherein the predefined positivereal numbers, N_(UL) and N_(LL), are about
 4. 8. A computer programproduct to detect damaged tunneling magnetoresistance (TMR) sensors, thecomputer program product comprising a computer readable storage mediumhaving program instructions embodied therewith, the program instructionsexecutable by a computer to cause the computer to: apply, by thecomputer, a first current, I₁, and a second current, I₂, to each of nTMR sensors located on a common substrate and built simultaneously;measure, by the computer, for each of the TMR sensors, resistancesR_(TMR) (I_(m)) for m=1 and m=2; calculate, by the computer, a slope inresistance vs. bias current, RD_(SLPn), using the measured resistancesR_(TMR) (I_(m)) and the current values for I₁ and I₂, for each of theTMR sensors; calculate, by the computer, the median RD_(SLPn) for theTMR sensors located on the common substrate, RD_(SLP-median); calculate,by the computer, residuals of the nth element, ΔRD_(SLP-n), whereinΔRD_(SLP-n)=RD_(SLPn)−RD_(SLP-median); determine, by the computer,whether the ΔRD_(SLP-n) value is within a predefined range; in responseto determining that the ΔRD_(SLP-n) value is outside the predefinedrange, output, by the computer, an indication that the TMR sensor fails;and in response to determining that the ΔRD_(SLP-n) value is within thepredefined range, output, by the computer, an indication that the TMRsensor passes.
 9. The computer program product of claim 8, wherein anupper limit of the predefined range is based on a positive predefinedreal number and a standard deviation of the R_(TMR) values, wherein alower limit of the predefined range is based on a negative predefinedreal number and the standard deviation of the R_(TMR) values.
 10. Thecomputer program product of claim 8, wherein the predefined real numberis about
 4. 11. The computer program product of claim 8, comprisingprogram instructions to cause the computer to: exclude, by the computer,TMR sensors whose RD_(SLP) values are determined to be outliers comparedto the other TMR sensors on the common substrate using a nearestneighbor method which excludes parts based on the maximum deviation fromthe two nearest neighbors; and for the nonexcluded TMR sensors,iteratively perform, by the computer, a process comprising the nearestneighbor method using only the two nearest neighbors which were notexcluded on the previous pass until labeling of excluded sensors remainsabout constant for at least two consecutive iterations, wherein thenonexcluded TMR sensors are labeled as good, wherein the excludedsensors are labeled as bad.
 12. The computer program product of claim 8,comprising program instructions to cause the computer to: exclude, bythe computer, TMR sensors whose RD_(SLP) values are determined to beoutliers compared to the other TMR sensors on the common substrate byusing a nearest neighbor method which excludes parts based on themaximum deviation from the two nearest neighbors; and for thenonexcluded TMR sensors, iteratively perform, by the computer, thefollowing sequence until labeling of the nonexcluded TMR sensors remainsabout constant for at least two consecutive iterations: fit, by thecomputer, the nonexcluded TMR sensors to a polynomial of RD_(SLP) vs.TMR track, m, wherein m is sequential from 1 to the number of TMRsensors located on the common substrate, and the polynomial fit toRD_(SLP) vs. m for track m is RD_(SLP-expected) for track m,RD_(SLP-expected-m); compare, by the computer, the measured value ofRD_(SLP) for each sensor, RD_(SLP-m), to a RD_(SLP-expected-m) valuefrom the polynomial fit to determine whether the RD_(SLP-m) value of thesensor is within a second predefined range; in response to determiningthat the RD_(SLP-m) value of the sensor is within the second predefinedrange, label, by the computer, the sensor as good; and in response todetermining that the RD_(SLP-m) value of the sensor is outside thesecond predefined range, label, by the computer, the sensor as bad. 13.A computer-implemented method to use a current-based tester as a pseudovoltage-based tester, comprising: setting a target voltage, V_(target),for a tunneling magnetoresistance (TMR) sensor using a current-basedtester; selecting a current value, I_(bias), whereinI_(bias)=V_(target)/R_(TMR-expected), wherein R_(TMR-expected) is anexpected resistance for the TMR sensor, applying a current at the value,I_(bias), to the TMR sensor, measuring a resistance across the TMRsensor, R_(TMR), calculating a bias voltage, V_(bias), using the currentvalue, I_(bias), and the measured resistance, whereinV_(bias)−I_(bias)·R_(TMR), and comparing the calculated bias voltage tothe target voltage; and storing the current value, I_(bias), in responseto determining that the bias voltage is within a predefined range of thetarget voltage.
 14. The computer-implemented method of claim 13,comprising repeating the sequence iteratively using different values forR_(TMR_expected) to calculate the I_(bias) to achieve the targetvoltage, V_(target), until a bias voltage within the predefined range ofthe target voltage is achieved.
 15. The computer-implemented method ofclaim 13, wherein an initial value of R_(TMR_expected) is the highestpossible value of R_(TMR) for the TMR sensor used.
 16. Thecomputer-implemented method of claim 13, wherein the values ofR_(TMR-expected) for all iterations other than the initial iteration arethe values of R_(TMR) from the previous iteration.
 17. Thecomputer-implemented method of claim 13, wherein the target voltage,V_(target), is less than a maximum allowed voltage for safe operation ofthe TMRs used.
 18. The computer-implemented method of claim 13, whereinthe target voltage, V_(target), is set based on target voltage values ina first text file, wherein the current value, I_(bias), is stored in asecond text file, wherein the second text file is used during readingoperations.